package com.daniu101;

import com.google.zxing.*;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;

public class QrRead {
    public static void main(String[] args) throws NotFoundException, IOException {
                /*
         第一种-1： Web 通过 AJAX or HTTP 传到服务器的
         第一种-2： Wen 中 js直接解析二维码
         第二种：安卓or苹果，把此功能直接写到 APP中，在APP中调用浏览器即可
         */
        String filePathName = "D:\\1618565006079.png";

        /////////////////////////////////////////
        BufferedImage image= ImageIO.read(new File(filePathName));
        LuminanceSource source = new BufferedImageLuminanceSource(image);

        // 把图片读出啦 bit
        BinaryBitmap bb=new BinaryBitmap(new HybridBinarizer(source));

        HashMap map =new HashMap();
        map.put(DecodeHintType.CHARACTER_SET, "utf-8");

        Result result = new MultiFormatReader().decode(bb,map);
        System.out.println("二维码文本内容："+result.getText());
        /////////////////////////////////////////

        System.out.println("解析结果："+result.toString());
        System.out.println("二维码格式类型："+result.getBarcodeFormat());

    }
}
